home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib21b.dsk / FREE SECTOR CHART.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  50 lines

  1. 1  REM  ************************
  2. 2  REM  *  FREE SECTOR CHART   *
  3. 3  REM  *  BY DONALD JESSOP    *
  4. 4  REM  * COPYRIGHT (C) 1984   *
  5. 5  REM  * BY MICRO-SPARC INC   *
  6. 6  REM  * LINCOLN, MA. 01773   *
  7. 7  REM  ************************
  8. 10  REM  ** LOAD IN RWTS SUBROUTINE **
  9. 20  FOR X = 896 TO 896 +30: READ D: POKE X,D: NEXT 
  10. 30  DATA  169,3,160,138,32,217,3,96,0,0,1,96,1,0,17,0,153,3,0,32,0,0,1,0,0,96,1,0,1,239,216
  11. 40 A$ = "0123456789ABCDEF"
  12. 50  HOME : PRINT : PRINT "** COPYRIGHT 1984 BY MICROSPARC, INC. **"
  13. 60  INVERSE : HTAB 10: PRINT "FREE SECTOR CHART": NORMAL : PRINT 
  14. 70  INPUT "WHAT IS THE NAME OF THE DISK?           ";NA$
  15. 80 NA$ = "FREE SECTOR CHART FOR " +NA$
  16. 90 A =  LEN(NA$): IF A <39  THEN  GOTO 110: REM  ** WE ARE CHECKING TO SEE IF THE TITLE CAN BE CENTERED PROPERLY **
  17. 100 NA$ =  LEFT$(NA$,38)
  18. 110  PRINT "WOULD YOU ALSO LIKE A CATALOG OF THE    DISK? ";: GET P$: PRINT P$
  19. 120  IF P$ = "Y"  THEN  PRINT  CHR$(4)"CATALOG"
  20. 130  PRINT : INVERSE : PRINT "PRESS ANY KEY TO CONTINUE";: NORMAL : GET B$: PRINT B$
  21. 140  CALL 896: REM  ** WE NOW READ IN THE VTOC **
  22. 150  REM  ** DRAW BORDER FOR CHART **
  23. 160  HOME 
  24. 170  VTAB 1: HTAB (38 - LEN(NA$))/2 +1: PRINT NA$
  25. 180  INVERSE 
  26. 190  VTAB 3: HTAB 2: PRINT A$;A$; LEFT$(A$,3)
  27. 200  FOR X = 1 TO 16: VTAB 3 +X: HTAB 1: PRINT  MID$ (A$,X,1);: NORMAL : PRINT  SPC( 35);: INVERSE : PRINT  MID$ (A$,X,1): NEXT 
  28. 210  HTAB 2: PRINT A$;A$; LEFT$(A$,3)
  29. 220  NORMAL 
  30. 230  REM  ** DETERMINE WHICH SECTORS ARE FILLED **
  31. 240 H = 1:P = 0
  32. 250  FOR X = 8247 TO 8383  STEP 4
  33. 260 H = H +1
  34. 270 V = 20
  35. 280 P = P +1: IF P >16  THEN P = 1
  36. 290  VTAB V: HTAB H: FLASH : PRINT  MID$ (A$,P,1);: NORMAL 
  37. 300  FOR Y = 1 TO 2
  38. 310 A =  PEEK(X +Y)
  39. 320  REM  ** THIS LOOP EXTRACTS THE INFORMATION BIT BY BIT **
  40. 330  FOR T = 7 TO 0  STEP  -1: REM  ** WE STEP BACKWARD THROUGH THE BYTE **
  41. 340 V = V -1: VTAB V: HTAB H
  42. 350  IF A <(2 ^T)  THEN  PRINT "*"
  43. 360  IF A >(2 ^T) -1  THEN A = A -2 ^T:F = F +1
  44. 370  NEXT 
  45. 380  NEXT 
  46. 390  VTAB 20: HTAB H: INVERSE : PRINT  MID$ (A$,P,1);
  47. 400  NEXT 
  48. 410  NORMAL 
  49. 420  VTAB 22: HTAB 1: PRINT "THERE ARE ";F;" FREE SECTORS"
  50. 430  END